package com.lz.demo.log.log4j;

import com.lz.demo.log.log4j.subpackage.SubPackageTest;
import org.apache.log4j.Logger;

/**
 * log4j 转为 logback（已经实现了slf4j），相当于不用改应用层代码的调用，直接改了底层实现、
 * 所以只需要使用 log4j-over-slf4（不需要 log4j 包，这个包有定义一样的应用层使用的类名称） + logback-classic（实现了 slf4j）
 * 需要注意 log4j 和 logback level 对应关系：前者有 6 级，后者只有 5 级（刚好相同的等级名字都一样），这就导致 log4j 的 fatal 只能对应
 * logback 的 error 了，从下面的运行日志可以看出来：
 * 2024-04-10 11:49:41.308 ERROR [,] [main]  com.lz.demo.log.log4j.Log4jToLogbackTest log4j error print
 * 2024-04-10 11:49:41.308 ERROR [,] [main]  com.lz.demo.log.log4j.Log4jToLogbackTest log4j fatal print
 */
public class Log4jToLogbackTest {
    final static  Logger LOGGER = Logger.getLogger(Log4jToLogbackTest.class);
    public static void main( String[] args ) {
        LOGGER.trace("log4j trace print");
        LOGGER.debug("log4j debug print");
        LOGGER.info("log4j info print");
        LOGGER.warn("log4j warn print");
        LOGGER.error("log4j error print");
        LOGGER.fatal("log4j fatal print");

        SubPackageTest.test();
    }
}
